import java.lang.reflect.*;
import java.util.Scanner;

@SuppressWarnings("unchecked")

class Fabrique{
	
	public static Pokemon instance(String className) throws Exception{
		Class c=Class.forName(className);
		Pokemon o=(Pokemon)c.newInstance();
		return o;
	}
	
	public static void newPoke(Pokemon p){
		Class c = p.getClass();
		Field[] fields = c.getFields();
		
		for (Field f : fields){
			System.out.println("Choisissez une valeur pour l'attribut "+f.getName());
			Scanner input=new Scanner(System.in);
			String att=input.nextLine();
		
			f.set(p, att);
		}
		
	}
}


public class pokemon {

	public static void main(String[] args) throws Exception{
		System.out.println("Saisissez un nom de pokemon :");
		Scanner input=new Scanner(System.in);
		String nom=input.nextLine();
		
		Pokemon p= Fabrique.instance(nom);
		
		Fabrique.newPoke(p);
		
	}

}
